package com.study.funny.config;

import net.devh.boot.grpc.common.autoconfigure.GrpcCommonCodecAutoConfiguration;
import net.devh.boot.grpc.server.autoconfigure.*;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.context.annotation.Configuration;

/**
 * @ClassName: GrpcConfig
 * @Description: grpc 配置类
 * @Author: zlx
 * @CreateTime: 2025-01-05 23:54
 * @Version: 1.0
 **/

@Configuration
@ImportAutoConfiguration({
        // 导入gRPC通用编解码的自动配置类
        GrpcCommonCodecAutoConfiguration.class,
        // 导入gRPC元数据Nacos配置的自动配置类
        GrpcMetadataNacosConfiguration.class,
        // 一般来讲，以下两个自动配置类就够了
        // 导入gRPC服务器的自动配置类
        GrpcServerAutoConfiguration.class,
        // 导入gRPC服务器工厂的自动配置类
        GrpcServerFactoryAutoConfiguration.class,
        // 导入gRPC服务器指标的自动配置类
        GrpcServerMetricAutoConfiguration.class,
        // 导入gRPC服务器安全性的自动配置类
        GrpcServerSecurityAutoConfiguration.class,
        // 导入gRPC通用编解码的自动配置类
        net.devh.boot.grpc.common.autoconfigure.GrpcCommonCodecAutoConfiguration.class,
        // 导入gRPC通用追踪的自动配置类
        net.devh.boot.grpc.common.autoconfigure.GrpcCommonTraceAutoConfiguration.class,
})
public class GrpcConfig {
    /*
         TODO：添加该配置类的原因是，作为 grpc 的服务端不会启动，所以需要添加该配置类，
     */
}
